using System;

namespace Deepcode.Flux.Core.Systems.Workflow.Attribs
{
	/// <summary>
	/// Attribute class to implement the [WorkflowTaskableMethod] Property
	/// which marks a method as being exposed to the workflow engine as a
	/// user ID/group ID callback method
	/// </summary>
	[AttributeUsage(AttributeTargets.Method)]
	public class WorkflowTaskableMethod : System.Attribute
	{
		private string friendlyMethodName;
		public string FriendlyMethodName{ get{ return friendlyMethodName; }}
		/// <summary>
		/// Expose the method as one which participates in taskings. This
		/// method can be added to a tasking, and when that tasking is actioned,
		/// the method is called to retrieve a list of operator and group ID's
		/// to raise tasks for.
		/// </summary>
		/// <param name="FriendlyMethodName"></param>
		public WorkflowTaskableMethod(string sFriendlyMethodName)
		{
			friendlyMethodName = sFriendlyMethodName;
		}
	}
}
